layui.use(['table', 'laydate', 'util', 'upload','form','element'], function () {
// 获得模块对象
var table = layui.table;
var form = layui.form;
var $ = layui.jquery;
var layer = layui.layer;
var laydate = layui.laydate;
var util = layui.util;
var upload = layui.upload;
var  form = layui.form;
var element = layui.element;


    // 汽车站数据表格渲染
	table.render({
    elem: '#productTable',
    url: 'route/queryRoute',
    method: 'get',
    cols: [[
        { type: 'numbers' } // 序号
        , { field: 'busLineName', title: '路线名', align: "center" , templet: '#busLineNameTpl',width:"38%"}
        , { field: 'startBusStationName', title: '开始车站',width:"30%" }
        , { field: 'endBusStationName', title: '结束车站',width:"30%"}
        , { field: 'circuitType', title: '路线类型', hide: true }
        , { field: 'startBusStationLng', title: '开始车站经度', hide: true }
        , { field: 'startBusStationLat', title: '开始车站纬度', hide: true }
        , { field: 'endBusStationLng', title: '结束车站经度', hide: true }
        , { field: 'endBusStationLat', title: '结束车站纬度', hide: true }
        , { fixed: 'right', align: 'center', toolbar: '#barDemo', width: "12%", align: "center" }//自定义按钮
    ]]
    , page: { //支持传入 laypage 组件的所有参数（某些参数除外，如：jump/elem） - 详见文档
        layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'] //自定义分页布局
        , groups: 1 //只显示 1 个连续页码
        , first: false //不显示首页
        , last: false //不显示尾页
        , limit: 5 // 每页显示的条数
        , limits: [5, 10, 20, 30, 50] // 每页条数的选择项
        /*,prev: '<button type="button" class="layui-laypage-btn">上一页</button>'
         ,next: '<button type="button" class="layui-laypage-btn">下一页</button>'*/
    }
    , loading: true // 是否显示加载条(切换分页的时候显示）
    , title: '汽车站数据表' // 定义 table 的大标题（在文件导出等地方会用到）
});
	
	form.on('submit(busCircuitSearchBtn)', function (data) {
	    table.reload('productTable', {
	        url: 'route/queryRoute',
	        where: { // 设定异步数据接口的额外参数，任意设
	        	startCity: $("#startCity").val(),
	     	   endCity: $("#endCity").val(),
	     	  circuitType: data.field.circuitType
	        }, page: {
	            curr: 1 //从第一页开始
	        }, limit: 5
	    });
	    return false; // 阻止表单跳转。如果需要表单跳转，去掉这段即可
	 });

	
	 $.ajax({
	  		type:"get",
	  		url:'route/queryAllCity',
	  		success:function(result) {
	  		    var mh_options = "<option value=''>请选择</option>";
	  		    for(var i=0;i<result.length;i++){
	  		        mh_options += "<option value='"+result[i].city+"'>"+result[i].city+"</option>";
	  		    }
	  		    $(" #startCity").append(mh_options);
	  		    form.render('select');
	  		}
	    })
	    
	    	$.ajax({
    	  		type:"get",
    	  		url:'route/queryAllCity',
    	  		success:function(result) {
    	  		    var mh_options = "<option value=''>请选择</option>";
    	  		    for(var i=0;i<result.length;i++){
    	  		        mh_options += "<option value='"+result[i].city+"'>"+result[i].city+"</option>";
    	  		    }
    	  		    $(" #endCity").append(mh_options);
    	  		    form.render('select');
    	  		}
    	    })
    	    
    	    
    	    
    	    //监听行工具事件
    	    table.on('tool(test)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
    	        var data = obj.data //获得当前行数据
    	            , layEvent = obj.event; //获得 lay-event 对应的值
    	       if (layEvent === 'edit') {
    	        	if(data.useable == 'Y'){
    	            var startBusStationName = data.startBusStationName;//获取开始城市
    	            var endBusStationName = data.endBusStationName;//获取结束城市
    	        		var startLng = data.startBusStationLng; // 开始经度
    	        		var startLat = data.startBusStationLat; // 开始纬度
    	        		var endLng = data.endBusStationLng; // 结束经度
    	        		var endLat = data.endBusStationLat; // 结束纬度
    	        		console.log(data);
    	            var circuitType = data.circuitType;
    	            map.clearOverlays();//清除地图覆盖物
    	        	
    	        	//var start = startBusStationName;
    	        	//var end = endBusStationName;
    	            var start = new BMap.Point(startLng, startLat);
    	            var end = new BMap.Point(endLng, endLat);
    	        	//三种驾车策略：最少时间，最短距离，避开高速
    	        	var routePolicy = [BMAP_DRIVING_POLICY_LEAST_TIME,BMAP_DRIVING_POLICY_LEAST_DISTANCE,BMAP_DRIVING_POLICY_AVOID_HIGHWAYS];
    	        		map.clearOverlays(); 
    	        		var i= circuitType;
    	        		search(start,end,routePolicy[i]); 
    	        		function search(start,end,route){ 
    	        			var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map,panel: "r-result"},policy: route});
    	        			driving.search(start,end);
    	        		}
    	        }
    	        else {
    	        	  layer.msg("查看失败！", {
    	                  icon: 2, // 图标，可输入范围0~6
    	                  time: 500
    	                  // 2秒关闭（如果不配置，默认是3秒）
    	              });
    	        }
    	        	}
    	    });
});
